package cn.huiyunche.base.service.interfaces;

import cn.huiyunche.base.service.model.BActivity;
import cn.huiyunche.base.service.model.BActivityRoles;
import cn.huiyunche.base.service.model.BActivityType;

/**
 * @ClassName: BActivityService
 * @Description: 活动服务层接口
 * @author: Aaron
 * @date: 2016年9月22日 下午7:38:04
 */
public interface BActivityService {

    /**
     * @param activityType  活动类型
     * @param activityClass 活动分类
     * @return
     * @Title: getByTypeAndClass
     * @Description: 根据活动类型和分类查询活动
     * @return: BActivity
     */
    BActivity getByTypeAndClass(int userType, int activityType, int activityClass);

    /**
     * @param code 活动类型编码
     * @return
     * @Title: getByCode
     * @Description: 根据编码查询活动类型
     * @return: BActivityType
     */
    BActivityType getByCode(int code);

    /**
     * @param userType      用户角色
     * @param activityType  活动类型
     * @param activityClass 活动分类
     * @return
     * @Title: getByRoleAndTypeAndClass
     * @Description: 查询用户类型的活动
     * @return: BActivity
     */
    BActivity getByRoleAndTypeAndClass(int userType, int activityType, int activityClass);

    /**
     * @param activityId 活动id
     * @param userType   用户类型
     * @return
     * @Title: getByActivityAndUserType
     * @Description: 根据活动id和用户类型查询活动和用户关联
     * @return: BActivityRoles
     */
    BActivityRoles getByActivityAndUserType(long activityId, int userType);
}
